﻿@{
    Layout = null;
}
<link href="~/Content/css/bootstrap.min.css" rel="stylesheet" />
<script src="~/Scripts/js/jquery.min.js"></script>
<script src="~/Scripts/js/bootstrap.min.js"></script>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<style>
    ul {
        list-style: none;
    }

    #Limit ul > li > ul > li {
        float: left;
        margin-right: 25px;
    }
</style>

<h2>GiveDeptAllotLimit</h2>
<p style="margin-top:20px;">
    部门:<select id="Dept" onchange="Change()"></select>
    职位:<select id="Position" onchange="Change()"></select>
    <input type="button" value="分配" onclick="AllotPosition()" />
</p>
<div id="Limit">
    @*<ul style="clear:both;margin-top:30px;margin-bottom:70px;">
            <li><span style="font-size:16px;background-color:lightskyblue;padding:5px 10px;color:lightyellow"><input id="Checkbox1" type="checkbox" />&nbsp;教育培训</span></li>
            <li style="margin-top:15px;color:green;">
                <ul>
                    <li><input id="Checkbox1" type="checkbox" /> 教育类别维护</li>
                    <li><input id="Checkbox1" type="checkbox" /> 教育类别维护</li>
                    <li><input id="Checkbox1" type="checkbox" /> 教育类别维护</li>
                    <li><input id="Checkbox1" type="checkbox" /> 教育类别维护</li>
                </ul>
            </li>
        </ul>*@
</div>

<script>

    $(function () {
        DeptList();
        PositionList();
        LoadLimit();
    })
    //部门信息/下拉框
    function DeptList() {
        $.ajax({
            type: "post",
            url: "/Employee/RoleList",
            data: { DeptName: "" },
            success: function (obj) {
                obj = JSON.parse(obj);
                var str = "";
                for (var i = 0; i < obj.length; i++) {
                    str += "<option value='" + obj[i].DeptID + "'>" + obj[i].DeptName + "</option>"
                }
                $("#Dept").html("<option value='0'>请选择</option>" + str);
            }
        })
    }

    //职位信息/下拉框
    function PositionList() {
        $.ajax({
            type: "post",
            url: "/Employee/PositionList",
            success: function (obj) {
                obj = JSON.parse(obj);
                $("#Position").empty();
                var str = "";
                for (var i = 0; i < obj.length; i++) {
                    str += "<option value='" + obj[i].PositionID + "'>" + obj[i].PositionName + "</option>"
                }
                $("#Position").html("<option value='0'>请选择</option>" + str);
            }
        })
        
    }

    //加载权限菜单
    function LoadLimit() {
        $.ajax({
            type: "post",
            url: "/Employee/GetLimitInfo",
            success: function (obj) {
                obj = eval("" + obj + "");

                var str = "";
                for (var i = 0; i < obj.length; i++) {
                    if (obj[i].Pid == 0) {
                        str += '<ul style="clear:both;margin-top:30px;margin-bottom:70px;">';
                        str += '<li title="' + obj[i].menuid + '" onclick="FuJi(this)"><span style="font-size:16px;background-color:lightskyblue;padding:5px 10px;color:lightyellow"><input name="parent" type="checkbox" value="' + obj[i].menuid + '" />&nbsp;' + obj[i].menuname + '</span></li>';
                        str += '<li style="margin-top:15px;color:green;">';
                        str += '<ul>';
                        for (var j = 0; j < obj.length; j++) {
                            if (obj[i].menuid == obj[j].Pid) {
                                str += ' <li title="' + obj[j].Pid + '" onclick="ZiJi(this)"><input type="checkbox" name="sublevel" value="' + obj[j].menuid + '" /> &nbsp;' + obj[j].menuname + '</li>';
                            }
                        }
                        str += '</ul>'
                        str += '</li>';
                        str += '</ul>';
                    }
                }
                $("#Limit").html(str);
            }
        })


    }

    //父级菜单的操作
    function FuJi(obj) {
        var id = $(obj).prop("title");
        $(obj).children(":checkbox").prop("checked", "true");
        var flag = $(obj).children().children(":checkbox").prop("checked");
        $("li").each(function () {
            if ($(this).prop("title") == id) {
                $(this).children(":checkbox").prop("checked", flag);
            }

        })
    }

    //子级菜单的操作
    function ZiJi(obj) {
        //点击之后的li标签自带的pid
        var pid = $(obj).prop("title");

        //获取点击li标签，标签内 复选框 的当前状态
        var flag = $(obj).children(":checkbox").prop("checked");

        //获取点击li标签，标签内 复选框 的值
        var PresentId = $(obj).children(":checkbox").val();

        //判断当前的状态
        if (flag) {
            $("[name='parent']").each(function () {
                if ($(this).val() == pid) {
                    $(this).prop("checked", true);
                }
            })
            //如果子集选中的话，也要让父级也要选中，当子集全部未选中时，父级也取消
        }

        //判断自己 复选框 选中的个数，如果为0，则父级的更改为未选中状态
        if ($("[name='sublevel']:checked").length == 0) {
            $("[name='parent']").each(function () {
                if ($(this).val() == pid) {
                    $(this).prop("checked", false);
                }
            })
        }
    }

    //下拉框，发生变化时激发事件
    function Change() {
        var DeptId = $("#Dept").val();
        var PositionId = $("#Position").val();

        //根据部门显示职位
        if (DeptId != 8 && DeptId != 0) {
            $("#Position option").each(function () {
                if ($(this).val() == 5 || $(this).val() == 6 || $(this).val() == 7) {
                    $(this).hide();
                }
            })
        }
        else {
            $("#Position option").each(function () {
                $(this).show();
            })
        }

        //根据职位显示部门
        if (PositionId == 5 || PositionId == 6 || PositionId == 7) {
            $("#Dept option").each(function () {
                if ($(this).val() != 8) {
                    $(this).hide();
                }
            })
        }
        else {
            $("#Dept option").each(function () {
                if ($(this).val() != 8) {
                    $(this).show();
                }
            })
        }

        //判断下拉框的值均不为0
        if (PositionId != 0 && DeptId != 0) {
            $.ajax({
                type: "post",
                url: "/Employee/BackFillLimit",
                data: { DeptId: DeptId, PositionID: PositionId },
                success: function (obj) {
                    obj = eval("" + obj + "");

                    $("[name='parent']").prop("checked", false);
                    $("[name='sublevel']").prop("checked", false);
                    //遍历父级复选框
                    $("[name='parent']").each(function () {
                        for (var i = 0; i < obj.length; i++) {
                            if ($(this).val() == obj[i].menuid) {
                                $(this).prop("checked", true);
                            }
                        }
                    })

                    //遍历子级复选框
                    $("[name='sublevel']").each(function () {
                        for (var i = 0; i < obj.length; i++) {
                            if ($(this).val() == obj[i].menuid) {
                                $(this).prop("checked", true);
                            }
                        }
                    })
                }
            })
        }
    }


    //分配按钮的单击事件
    function AllotPosition() {
        var DeptId = $("#Dept").val();
        var PositionId = $("#Position").val();

        //判断下拉框是否选择值
        if (DeptId != 0 && PositionId != 0) {
            var limitIds = "";
            //拼接父级id
            $("[name='parent']:checked").each(function () {
                limitIds += $(this).val() + ",";
            })
            //拼接自己id
            $("[name='sublevel']:checked").each(function () {
                limitIds += $(this).val() + ",";
            })
            limitIds = limitIds.substr(0, limitIds.length - 1);
            //alert(limitIds);
            if (limitIds != "") {
                $.ajax({
                    type: "post",
                    url: "/Employee/GiveDeptAllotLimitDo",
                    data: { DeptId: DeptId, PositionId: PositionId, limitIds: limitIds },
                    success: function (obj) {
                        if (obj > 0) {
                            alert("分配成功");
                        }
                    }
                })
            }
            else {
                alert("请选择要分配的权限");
            }
        }
        else {
            alert("请选择完整的部门/职位");
        }
    }
</script>